import { Module } from '@nestjs/common';
import { UploadService } from './upload.service';
import { UploadController } from './upload.controller';
import { MulterModule } from '@nestjs/platform-express';
import { diskStorage } from 'multer';
import { extname, join } from 'path';
@Module({
  imports: [
    // 注册 Multer 模块并进行配置
    MulterModule.register({
      // 配置文件存储方式为磁盘存储
      storage: diskStorage({
        // 设置文件存储的目标目录，将文件存储到项目根目录的 public 文件夹中
        destination: join(process.cwd(), 'src/public'),
        // 定义文件名生成规则的回调函数
        filename: (req, file, callback) => {
          // 生成文件名，格式为当前时间戳加上文件的原始扩展名
          const fileName = `${new Date().getTime() + extname(file.originalname)}`;
          // 打印生成的文件名，用于调试
          console.log('fileName', fileName);

          // 调用回调函数，将生成的文件名传递回去，第一个参数为错误信息，这里设为 null 表示没有错误
          return callback(null, fileName);
        }
      })
    })
  ],
  controllers: [UploadController],
  providers: [UploadService],
})
export class UploadModule { }

console.log('Upload destination:', join(process.cwd(), 'src/public'));
